<!-- 图标组件 -->
<template>
	<div class="icons">
		<swiper :options="swiperOption">
			<!-- 循环图标页 -->
			<swiper-slide v-for='(page,index) of pages' :key='index'>
				<!-- 循环每一页的图标 -->
				<div class="icon" v-for="item of page" :key="item.id">
					<div class="icon-img">
						<img class="img-content" :src="item.imgUrl" />
						<p class="icon-desc">{{item.desc}}</p>
					</div>
				</div>
			</swiper-slide>
		</swiper>

	</div>
</template>

<script>
	export default {
		name: 'HomeIcons',
		props:{
			list:Array
		},
		data(){
			return{
				swiperOption:{
					autoplay:false
				}
			}
		},
		computed: {
			pages: function() {
				/* 根据图表数动态控制页数 */
				const pages = [];
				this.list.forEach((item, index) => {
					/* 限制一页显示8个图标 */
					const page = Math.floor(index / 8);
					if (!pages[page]) {
						pages[page] = [];
					}
					pages[page].push(item);
				})
				return pages
			}
		}
	}
</script>
<style lang="less" scoped="scoped">
	@import '~styles/varibles.less';
	@import '~styles/mixins.less';

	.swiper-container {
		// overflow: hidden;/* swiper中自带 */
		height: 0;
		padding-bottom: 50%;
	}

	.icon {
		position: relative;
		overflow: hidden;
		width: 25%;
		height: 0;
		float: left;
		padding-bottom: 25%;

		.icon-img {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0.3rem;
			box-sizing: border-box;
			padding: 0.3rem;

			.img-content {
				height: 100%;
				display: block;
				margin: 0 auto;
			}
		}

		.icon-desc {
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			height: 0.3rem;
			line-height: 0.3rem;
			text-align: center;
			color: @darktextcolor;
			/* 实现省略显示文字样式 */
			.ellipsis;
		}
	}
</style>
